其他
针对Android平台的开源图片选择器
大家好,我是TJ
关注TJ君,回复“武功秘籍”免费获取计算机宝典书籍
TJ君将之前发过的各种项目及工具进行了整理,收录到了GitHub项目,欢迎各位小伙伴光临Star,地址如下:https://github.com/Wechat-TJ/TJ-WORLD-FORU
这段时间在家,大家是不是掌握了不少额外的技能?例如烹饪、抢菜、摆拍?
那么其中摆拍这一项,是不是会翻来覆去挑选各种照片呢?那么今天TJ君就给大家介绍一款针对Android平台的图片选择器,PictureSelector
PictureSelector ,支持从相册获取图片、视频、音频&拍照,支持裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能,支持动态获取权限&适配Android 5.0+系统的开源图片选择框架。
功能上看非常的丰富。
先说说怎么引用,可以使用Gradle,也可以是用Maven
repositories {
google()
mavenCentral()
}
dependencies {
// PictureSelector 基础 (必须)
implementation 'io.github.lucksiege:pictureselector:v3.0.9'
// 图片压缩 (按需引入)
implementation 'io.github.lucksiege:compress:v3.0.9'
// 图片裁剪 (按需引入)
implementation 'io.github.lucksiege:ucrop:v3.0.9'
// 自定义相机 (按需引入)
implementation 'io.github.lucksiege:camerax:v3.0.9'
}
<dependency>
<groupId>io.github.lucksiege</groupId>
<artifactId>pictureselector</artifactId>
<version>v3.0.9</version>
</dependency>
<dependency>
<groupId>io.github.lucksiege</groupId>
<artifactId>compress</artifactId>
<version>v3.0.9</version>
</dependency>
<dependency>
<groupId>io.github.lucksiege</groupId>
<artifactId>ucrop</artifactId>
<version>v3.0.9</version>
</dependency>
<dependency>
<groupId>io.github.lucksiege</groupId>
<artifactId>camerax</artifactId>
<version>v3.0.9</version>
</dependency>
简单再说几个使用示例:
获取图片
PictureSelector.create(this)
.openGallery(SelectMimeType.ofImage())
.setImageEngine(GlideEngine.createGlideEngine())
.forResult(new OnResultCallbackListener<LocalMedia>() {
@Override
public void onResult(ArrayList<LocalMedia> result) {
}
@Override
public void onCancel() {
}
});
使用系统相册
PictureSelector.create(this)
.openSystemGallery(SelectMimeType.ofImage())
.forResult(new OnResultCallbackListener<LocalMedia>() {
@Override
public void onResult(ArrayList<LocalMedia> result) {
}
@Override
public void onCancel() {
}
});
预览图片
PictureSelector.create(this)
.openPreview()
.setImageEngine(GlideEngine.createGlideEngine())
.setExternalPreviewEventListener(new OnExternalPreviewEventListener() {
@Override
public void onPreviewDelete(int position) {
}
@Override
public boolean onLongPressDownload(LocalMedia media) {
return false;
}
}).startActivityPreview(position, true, "data");
使用图片压缩
.setCompressEngine(new CompressFileEngine() {
@Override
public void onStartCompress(Context context, ArrayList<Uri> source, OnKeyValueResultCallbackListener call){
}
});
最后看下实际的效果吧,觉得不错的话,赶紧来获取地址吧~
点击下方卡片,关注公众号“TJ君”
回复“图片选择2022”,获取仓库地址
关注我,每天了解一个牛x、好用、有趣的东东
支持Python3、JavaScript、Shell、TypeScript 的定时任务管理面板项目